<HTML>
<TITLE>Bugs in GEF v0.6 beta 1</TITLE>
<BODY>

<H1>Bugs in GEF v0.6 beta 1</H1>

This file prepared on 98/04/18.

<p>Each bug is named with a unique string (e.g.,
"save_memory_hog"). 

<p>When sending a new bug report please check the GEF home page for
specific instructions and existing bugs that describe your problem. 

<HR>

<H2>Bugs observed on all platforms:</H2>

<UL>

<LI><A NAME="rectilinear_arc_constraints">
<TT>BUG:rectilinear_arc_constraints </TT><br>
FigEdgeRectilinear does not draw properly. It looks pretty bad and
sometimes the lines make a "T" intersection when it should make a
right anngle turn. I know that there are missing cases to the logic
that decides how to draw the arc. This really needs to be totally
redone.

<LI><A NAME="save_memory_hog">
<TT> BUG:save_memory_hog </TT><br>
Saving large documents with connected nodes requires setting the
amount of stack space used by the Java VM. Use "java -ss1m" to set the
stack size to 1 Mb, by default the stack size is something like 4
Kb. Unfortuanely, you cannot set the stack size in the appletviewer or
most browsers.

<LI><A NAME="saved_file_versioning">
<TT>BUG:saved_file_versioning </TT><br>
Since there is no versioning support in Sun's ObjectSerialization
library, if you change your class definitions there is no easy way to
load files saved with the old class definitions.

<LI> <A NAME="arc_translate">
<TT>BUG:arc_translate </TT><br>
FigEdgeRectilinear should move when both their end points move at
the same time. To see what I mean: place two nodes, connect the nodes,
select all objects, move the nodes all around. You will see that some
points on the arc stay put.

<LI><A NAME="rectilinear_arc_points">
<TT>BUG:rectilinear_arc_points </TT><br>
ArcPerzRectilinear inserts too many points when it does it's
initial routing. There is no command to redo the routing. And
FigPoly's even/odd convention for rectilinear polylines is not
followed properly, so it is possible to get diaganol lines if you drag
some handles around. Also, self-arcs (arcs that go from a port on a
node to another port on the same node), are not routed properly.

<LI><A NAME="switch_tabs_without_apply">
<TT>BUG:switch_tabs_without_apply </TT><br>
When auto-apply is off, users can loose changes if the switch tabs
before pressing the "Apply" button.

<LI><A NAME="limited_popups">
<TT>BUG:limited_popups </TT><br>
This version includes ModePopup that displays a popup menu on Figs.
However this menu is not customized to the particular Fig.

<LI><A NAME="prop_sheet_no_model">
<TT>BUG:prop_sheet_no_model </TT><br>
The property sheet window is intended to allow the user to edit the
graphical properties of Figs, and the application-specific properties
of the nodes and edges of the underlying connected graph.  This is not
implemented yet.  One workaround is to define get/set methods in your
own subclasses of FigNode and FigEdge that expose the properties of
their owner.

<LI><A NAME="no_bean_info">
<TT>BUG:no_bean_info </TT><br>
JavaBeans(tm) can work by analyzing the byte codes of classes to
determine their properties.  However, it works much better if BeanInfo
classes are defined that give more information about properties.  For
example, the justification of FigText can be "Left", "Right", or
"Center". But the byte code analysis only knows that it is a String.
GEF should have FigBeanInfo, FigTextBeanInfo, etc.

<LI><A NAME="no_default_properties">
<TT>BUG:no_default_properties </TT><br>
In previous versions, Editor has maintained a set of default graphical
properties that are used in the creation of new Figs. For example, if
you set the fill color to blue when nothing is selected, then future
new Figs would have blue fills instead of white.  This functionality
has been temporarily removed.

<LI><A NAME="too_few_demos">
<TT>BUG:too_few_demos </TT><br>
A lot of new features have been added to GEF v0.6, but few of them are
shown in the demos.  GEF needs new demos that test and demonstrate its
new features.  I realize that many GEF users begin by modifying
existing demos, which makes this very important.

<LI><A NAME="docs_out_of_date">
<TT>BUG:docs_out_of_date </TT><br>

Some documentation is now out of date. I will work to incrementally
update all the documentation.  Right now, all the javadocs should be
up-to-date. But the design documents and other docs need work.

<LI><A NAME="no_make_files">
<TT>BUG:no_make_files </TT><br>

I have not provided Makefiles in this release, so you will have to
rely on your IDE, or doing 'javac *.java'.  I plan to fix this before
the full v0.6 release.

</UL>

<HR>

<H2>Bugs observed on Sun's Appletviewer under solaris:</H2>
<UL>
<LI> <A NAME="sun_choice_not_shown">
<TT>BUG:sun_choice_not_shown </TT><br>
Some Choice components are not drawn, but you can still click on
them and use them.

<LI> <A NAME="sun_no_key_focus">
<TT>BUG:sun_no_key_focus </TT><br>
In InBrowserApplet.html the drawing area is in the same frame as the
palette. Keystrokes are intercepted by AWT so you cannot type keyboard
commands for GEF and you cannot type text into a FigText.
</UL>
<HR>

<H2>Bugs observed under Win95:</H2>
<UL>

<LI> <A NAME="win_list_double_click">
<TT> BUG:win_list_double_click </TT><br>
List items send their action event on mouse-down when the user double
clicks.  It should be on mouse-up. The effect is that you can spawn a
new editor from the Execute Action window and the first events it will
recieve will be mouse drag, without ever seeing a mouse down event.
That can cause unexpected behavior.

<LI> <A NAME="win_color_picker_buried">
<TT> BUG:win_color_picker_buried </TT><br>
The ColorPickerGrid window should come to the front of all windows
when you click on a PropEditorColor. Under jdk1.1.1 on windows the
call to toFront() has no effect.

<LI><A NAME="win_prop_sheet_grabs_focus">
<TT> BUG:win_prop_sheet_grabs_focus </TT><br>
The TabPropFrame property sheet sometimes jumps in front of other
windows when it is not desired. This also sets the keyboard focus to
the property sheet window, so you can no longer tab through
DiagramElements unless you click on the editor window to assign
keyboard focus back there.

</UL>
</BODY>
</HTML>

